Today's microcontrollers and microprocessors are becoming more and more complicated. However, as the cost and size of these devices are reduced and performance increased they have been increasingly used in electronic devices where portability is a requirement. This has resulted in the need to closely monitor and control power consumption for such portable devices. As the size of the portable devices continues to decrease and the functions performed by the ever smaller devices are increasing, many different techniques have been implemented or tried to minimize power use by such portable devices. Such techniques include turning off portions of the device when not in use, slowing down clocks when applications allow for reduced computing power, or similar techniques. However, these known techniques are generally directed to system level power management for hardware components of the portable devices.
However, there are still unmet needs for additional ways to reduce the power consumed by electronic devices employing microprocessors and microcontrollers, especially portable devices.